Consulta de Guías Docentes



Academic Year/course: 2022/23

30204 - Programming I


Syllabus Information

Academic Year:
2022/23
Subject:
30204 - Programming I
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
Degree:
439 - Bachelor's Degree in Informatics Engineering
443 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
1
Semester:
First semester
Subject Type:
Basic Education
Module:
---

1. General information

2. Learning goals

3. Assessment (1st and 2nd call)

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The learning process designed for this subject is based on the following:

  • Continuous work starting on the first day of class.
  • Learning concepts and methodologies for program design through lectures, in which student participation will be encouraged.
  • The application of such knowledge on program design in sessions devoted to problem solving. In these sessions, students will play an active role in the discussion of cases and solving problems. In these sessions, students' work could be evaluated.
  • Practice sessions, where students learn the necessary technology needed for coding, compiling and running their programs, using a certain programming language. Students will also learn to work with a certain operating system and developing environment.
  • Part of the students work in programming could be developed in teams.
  • Learning to program requires continuous work by students in the understanding of concepts, problem analysis, problem solving using "pencil and paper" and coding, running and testing a number of programs.

This course is only taught in Spanish.

4.2. Learning tasks

The course includes the following learning tasks:

  • The syllabus of the course will be developed through lectures, case analysis and problem-solving, where concepts and techniques presented in the syllabus will be applied.
  • In practice sessions, each student, in front of a computer, will code, run and debug programs work directly related to the topics studied in the course. This work could be individual or be made in teams.
  • In addition, a programming project under the supervision of a teacher will be developped.

4.3. Syllabus

The course will address the following topics: 

  1. Basic concepts in programming
    • Information processing problems, algorithms and programs
    • Programming languages and program execution
    • Information, data, operations and expressions
  2. Design of the first programs
    • Design of some elementary programs
    • Simple and structured instructions
    • Computational problems with integer numbers
    • Top-down and modular program design
    • Computational problems with real numbers
  3. Design of programs that work with data structures
    1. Indexed data
    2. Character strings
    3. Aggregated data
    4. Basic algorithms working with indexed data
  4. Design programs that work with files
    1. Data input and output
    2. Working with text files
    3. Working with binary files
    4. Working with files: other possibilities
  5. Program design methodology

4.4. Course planning and calendar

The schedule on EINA (Zaragoza) is as follows:

  • Lectures: 2 hours per week
  • Case problem sessions: 1 hour per week
  • Practice sessions: one 2-hour session every two weeks

The schedule on EUPT (Teruel) is as follows:

  • Lectures: 2 hours per week
  • Case problem and practice sessions: 2 hours per week

Concrete schedule and dates will be announced in due time by the Faculty Board of the appropriate School, and published on its web site.


Curso Académico: 2022/23

30204 - Programación 1


Información del Plan Docente

Año académico:
2022/23
Asignatura:
30204 - Programación 1
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
Titulación:
439 - Graduado en Ingeniería Informática
443 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
1
Periodo de impartición:
Primer semestre
Clase de asignatura:
Formación básica
Materia:
Materia básica de grado

1. Información Básica

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

Planteamientos

  • Se presentan los conocimientos básicos ligados a la programación y la informática.
  • Se presenta una metodología de análisis y resolución de problemas de tratamiento de información.
  • Se presenta, a un nivel básico, la tecnología que la programación estructurada ofrece al programador.
  • Se enseña a cada estudiante, desde un punto de vista práctico, a completar el proceso que se inicia con la comprensión del problema, continúa con su análisis y resolución, prosigue con el desarrollo y puesta a punto del programa que permite resolverlo y concluye con la explotación y mantenimiento del programa.

Objetivos

  • Que cada estudiante conozca los conceptos básicos ligados a la programación.
  • Que cada estudiante sepa analizar problemas concretos, resolverlos y desarrollar programas que permitan obtener los resultados correspondientes en un computador.
  • Que cada estudiante aprenda a utilizar y se familiarice con un entorno tecnológico para el desarrollo de programas.
  • Que cada estudiante se ejercite programando computadores.

Estos planteamientos y objetivos están alineados con algunos de los Objetivos de Desarrollo Sostenible, ODS, de la Agenda 2030 (https://www.un.org/sustainabledevelopment/es/) y determinadas metas concretas, de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia al estudiante para contribuir en cierta medida a su logro:

  • Objetivo 9: Industria, innovación e infraestructuras.

    • Meta 9.1: Desarrollar infraestructuras fiables, sostenibles, resilientes y de calidad, incluidas infraestructuras regionales y transfronterizas, para apoyar el desarrollo económico y el bienestar humano, haciendo especial hincapié en el acceso asequible y equitativo para todos.

  • Objetivo 16: Promover sociedades, justas, pacíficas e inclusivas.

    • Meta 16.5: Reducir considerablemente la corrupción y el soborno en todas sus formas.

1.2. Contexto y sentido de la asignatura en la titulación

Programación 1 tiene carácter de asignatura de formación básica. Es el primer paso de un camino cuyo destino es el aprendizaje de la programación de computadores. Lo aprendido en esta asignatura tiene continuidad en las asignaturas de la materia común de Computación y Programación.

La programación es uno de los pilares básicos de la formación en Ingeniería Informática y su aprendizaje es imprescindible para estudiar casi cualquier otra materia de las que intervienen en los estudios.

1.3. Recomendaciones para cursar la asignatura

Es conveniente que cada estudiante que curse esta asignatura tenga facilidad para la comprensión y el análisis de problemas y la deducción lógica de soluciones. Una adecuada formación matemática en los estudios previos resulta muy conveniente.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, cada estudiante será más competente para:

  1. Resolver problemas y tomar decisiones con iniciativa, creatividad y razonamiento crítico.
  2. Comunicar y transmitir conocimientos, habilidades y destrezas en castellano.
  3. Usar las técnicas, habilidades y herramientas de la Ingeniería necesarias para la práctica de la misma.
  4. Aprender de forma continuada y desarrollar estrategias de aprendizaje autónomo.
  5. Aplicar las tecnologías de la información y las comunicaciones en la Ingeniería.
  6. Usar ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.

2.2. Resultados de aprendizaje

Cada estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados:

  1. Que conoce conceptos básicos ligados a la programación y la informática.
  2. Que comprende, analiza y resuelve problemas de tratamiento de información de complejidad baja o media y construye algoritmos que los resuelven.
  3. Que define las estructuras de datos más adecuadas para representar la información asociada a cada problema.
  4. Que diseña de forma descendente y documenta las acciones algorítmicas que resuelven cada problema de forma eficaz y eficiente.
  5. Que conoce los algoritmos para resolver los problemas más frecuentes que se presentan al trabajar con estructuras de datos secuenciales e indexadas.
  6. Que conoce y comprende la sintaxis y la semántica de las construcciones básicas de un lenguaje de programación.
  7. Que escribe programas con buen estilo, con una documentación adecuada, con los comentarios precisos y con las especificaciones necesarias.
  8. Que sabe utilizar herramientas de edición, compilación, depuración y ejecución para desarrollar programas, así como sistemas operativos, bases de datos y otros programas con aplicación en ingeniería.
  9. Que utiliza estrategias adecuadas para corregir los programas cuando no funcionan bien.
  10. Que codifica en un determinado entorno de programación, ejecuta en un computador y depura, si es necesario, programas escritos en un lenguaje de programación determinado.

2.3. Importancia de los resultados de aprendizaje

Los resultados de aprendizaje se pueden resumir diciendo que cada estudiante será capaz de analizar y resolver problemas de tratamiento de información de pequeña o media complejidad y construir los correspondientes programas en el lenguaje de programación utilizado en la asignatura. Haber aprendido a hacerlo bien y con eficiencia es de vital importancia en el contexto de unos estudios de Ingeniería Informática, uno de cuyos pilares es la programación de computadores.

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

Cada estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluación

En la Escuela de Ingeniería y Arquitectura del Campus Río Ebro:

La evaluación se divide en cada convocatoria en dos calificaciones P1 y P2:

  • P1. Examen escrito, en el que cada estudiante ha de responder, en su caso, a preguntas conceptuales y resolver problemas. Cada estudiante ha de realizar esta prueba y obtener en la misma una nota mínima de 5,0 puntos para optar a aprobar la asignatura. Si se supera esta calificación mínima, pondera un 70 % en la nota de la asignatura. En caso contrario, la calificación de este examen escrito es la que constará en el acta de la asignatura.
  • P2. Parte práctica. Si se supera el examen escrito, pondera un 30 % en la nota de la asignatura. En la primera convocatoria, puede superarse a través de la realización de actividades durante el cuatrimestre de impartición de la asignatura (P2A) o a través de un examen global de prácticas (P2B). En la segunda convocatoria, únicamente se puede superar a través del examen global de prácticas (P2B).
    • P2A. Actividades a realizar durante el cuatrimestre de impartición de la asignatura:
      • Entrega de resultados de las prácticas de la asignatura: a lo largo del cuatrimestre, se anunciarán los plazos de entrega de los problemas de programación que se planteen en los guiones de prácticas de la asignatura. Algunos de esos problemas serán corregidos y calificados (aunque no necesariamente todas las prácticas ni todos los trabajos enunciados en las mismas) por el profesorado o por otros estudiantes de la asignatura a través de un sistema de evaluación por pares. El profesorado indicará si los problemas de programación correspondientes a las prácticas deben realizarse de forma individual o en equipo. Las calificaciones obtenidas en este apartado representan un 50 % de la calificación de este apartado (un 15 % de la calificación de la convocatoria en la que se supere el examen escrito).
      • Trabajo de programación: será propuesto durante el mes de diciembre con un plazo de entrega concreto y que se anunciará oportunamente. El profesorado indicará si este trabajo debe realizarse individualmente o en equipo. La calificación obtenida en este trabajo representa un 50 % de este apartado (un 15 % de la calificación de la convocatoria en la que se supere el examen escrito).

Las prácticas o trabajos de programación no entregados ponderarán en el cálculo de P2A como si su calificación fuese 0. Así mismo, de acuerdo con la meta ODS 16.5, cuando se detecten plagios u otras prácticas irregulares en las entregas de prácticas o del trabajo, todos los implicados (tanto supuestos plagiadores como supuestos plagiados) serán calificados con 0.

    • P2B. Examen global de prácticas, en el que se debe realizar individualmente un trabajo de programación en un computador en un tiempo prefijado y en cuya calificación se evaluará que el programa resultante resuelva correctamente el problema planteado y la calidad de su código fuente. La calificación P2B es alternativa a la calificación P2A en su conjunto (no podrá suplir parcialmente calificaciones de prácticas o del trabajo de programación).

Se considerarán no presentados en primera convocatoria únicamente a quienes no se presenten al examen escrito. Se considerarán no presentados en segunda convocatoria a quienes no se presenten ni al examen escrito ni al examen global de prácticas de la segunda convocatoria.

En la Escuela Universitaria Politécnica del Campus de Teruel:

Convocatoria de Febrero. La evaluación de la asignatura se realiza en base a las siguientes pruebas:

P1. Prueba en la que el alumno deberá responder cuestiones y resolver ejercicios y problemas, se podrá requerir que el alumno realice la prueba trabajando en el computador o de forma escrita. Se requiere una nota mínima de 5.0 puntos en esta prueba para aprobar la asignatura. Si se obtiene esta nota mínima, entonces la prueba pondera un 50% en la nota de la asignatura y, si no se alcanza este mínimo, entonces la calificación en la asignatura es la de esta prueba.

P2. Trabajos de programación con computador. Estos trabajos ponderan un 50% en la nota de la asignatura. Cada alumno deberá entregar los trabajos de programación que se indiquen en las prácticas de la asignatura. A la hora de calificar estos trabajos se valorará su funcionamiento según especificaciones, la calidad de su diseño y su presentación, la adecuada aplicación de los métodos de resolución, el tiempo empleado, así como la capacidad de los alumnos para explicar y justificar el diseño realizado. Los alumnos que hayan cumplido con los plazos de entrega fijados para los trabajos prácticos de programación, y hayan demostrado en ellos un nivel de aprovechamiento y calidad de resultados adecuados, obteniendo en la valoración de su trabajo práctico al menos la nota mínima especificada, serán exentos de la realización del examen práctico de programación (P3).

P3. Examen práctico e individual de programación. En el examen práctico se le plantearán al alumno ejercicios de programación de naturaleza similar a los realizados en las prácticas o vistos en clase. Se calificará con una nota de 0 a 10, para la que se valorará el correcto funcionamiento y rendimiento de los programas según especificaciones, la calidad de su diseño y la adecuada aplicación de los métodos de resolución. 

Pruebas con carácter voluntario. A lo largo del cuatrimestre se plantearán varias pruebas voluntarias consistentes en la resolución, de cuestiones, ejercicios y problemas de programación. El 10% de la calificación de estas pruebas, es decir, entre 0 y 1.0 puntos, se sumará a la calificación obtenida por el alumno con P1 y P2/P3 en la primera convocatoria de la asignatura (no en la de la segunda convocatoria), siempre y cuando dicha calificación sea igual o superior a 5.0.

Segunda convocatoria. La evaluación de la asignatura se realiza en base a pruebas análogas a las de la primera convocatoria, con las mismas ponderaciones y exigencia de notas mínimas Las calificaciones del alumno obtenidas en la primera convocatoria en cualquiera de las pruebas (P1 y P2/P3) se mantienen en la segunda convocatoria, salvo que el alumno opte por presentarse a la prueba correspondiente en esta nueva convocatoria, en cuyo caso prevalecerá la nueva calificación.

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

  1. El estudio y trabajo continuado desde el primer día de clase.
  2. El aprendizaje de conceptos y metodologías de diseño de programas a través de las clases magistrales, en las que se favorecerá la participación de los alumnos.
  3. La aplicación de tales conocimientos al diseño de algoritmos y programas en las clases de problemas. En estas clases, cada estudiante desempeñarán un papel activo en la discusión y resolución de los problemas. 
  4. Las clases de prácticas en las que cada estudiante aprenderá la tecnología necesaria para escribir y ejecutar programas utilizando un determinado lenguaje de programación. Aprenderá asimismo a trabajar en un determinado sistema operativo con un conjunto de herramientas software para el desarrollo de programas.
  5. Una parte de los trabajos de programación desarrollados en las prácticas de la asignatura podrían realizarse en equipo.
  6. El aprendizaje de la programación exige un trabajo continuado por parte de cada estudiante en el que se conjugue la comprensión de conceptos, el análisis y la resolución de problemas de programación utilizando «lápiz y papel» y la puesta a punto en computador de un buen número de programas.

4.2. Actividades de aprendizaje

El programa que se ofrece a cada estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades...

En las clases magistrales se desarrollará el programa de la asignatura.

En las clases de problemas se resolverán problemas de aplicación de los conceptos y técnicas presentadas en el programa de la asignatura.

Las sesiones de prácticas en las que se desarrollarán programas delante de un computador. En las distintas sesiones, cada estudiante deberá realizar un trabajo de programación, individualmente o en equipo, poniendo a punto uno o varios programas.

4.3. Programa

I. Conceptos y elementos básicos de Programación

  • Problemas de tratamiento de información, algoritmos y programas
  • Lenguajes de programación y ejecución de un programa
  • Información, datos, operaciones y expresiones

II. Diseño de los primeros programas

  • Diseño de algunos programas elementales
  • Instrucciones simples y estructuradas
  • Problemas de cálculo con enteros
  • Desarrollo modular y descendente de programas
  • Problemas de cálculo con números reales

III. Diseño de programas que trabajan con estructuras de datos

  • Estructuración indexada de datos (vectores)
  • Representación de cadenas de caracteres
  • Estructuración agregada de datos (registros)
  • Algoritmos básicos de trabajo con estructuras de datos indexadas

IV. Diseño de programas que trabajan con datos almacenados en ficheros

  • Entrada y salida de datos
  • Trabajo con ficheros de texto
  • Trabajo con ficheros binarios
  • Trabajo con ficheros: otras posibilidades

V. Metodología de diseño de programas

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

La organización docente de la asignatura prevista en el campus Río Ebro es la siguiente.

  • Clases teóricas (2 horas semanales)
  • Clases de problemas (1 hora semanal)
  • Clases prácticas (2 horas cada dos semanas). Son sesiones de trabajo de programación, tuteladas por un profesor, en las que participan los estudiantes en grupos reducidos.

La organización docente de la asignatura prevista en el campus de Teruel es la siguiente.

  • Clases teóricas (2 horas semanales)
  • Clases de problemas y de prácticas (2 horas semanales)

Los horarios de todas las clases y las fechas de las sesiones de prácticas se anunciarán con suficiente antelación a través de las webs del centro y de la asignatura.

Los trabajos de programación propuestos en prácticas serán entregados en las fechas que se señalen.

El calendario de exámenes será el que establezca la Escuela y las fechas de entrega de trabajos de evaluación se anunciarán con la suficiente antelación.